package cn.changgou.oauth.interceptor;

import cn.changgou.oauth.util.AdminToken;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TokenRequestInterceptor implements RequestInterceptor {

    /*Feign执行之前进行拦截*/
    @Override
    public void apply(RequestTemplate template) {
        /*
         * 从数据库加载查询用户信息
         * 1. 没有令牌，Feign调用之前，生成令牌
         * 2. 令牌需要携带过去
         * 3. 令牌需要存放的Header文件中
         * 4. 请求->Feign调用->拦截器RequestInterceptor->Feign调用之前执行
         * */
        // 生成admin令牌
        String token = AdminToken.adminToken();
        template.header("Authorization", "bearer " + token);

    }
}
